/*
 * @Descripttion:
 * @Author: jhw
 * @Date: 2023-06-26 16:44:02
 * @LastEditors: jhw
 * @LastEditTime: 2023-06-28 10:40:54
 */
// const scoreDom = document.getElementById('score') as HTMLElement;
// const startDom = document.getElementById('start') as HTMLElement;
// const pauseDom = document.getElementById('pause') as HTMLElement;
// const resetDom = document.getElementById('reset') as HTMLElement;

// const canvas = document.getElementById('canvas') as HTMLCanvasElement;
// const context = canvas.getContext('2d') as CanvasRenderingContext2D;

// const WIDTH = 240;
// const HEIGHT = 400;

// canvas.width = WIDTH;
// canvas.height = HEIGHT;

// context.scale(20, 20);

// // 方块
// const tetrominoes = {
//   I: [
//     [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],6
//     [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],6
//     [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],6
//     [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],6
//     [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],6
//   ],
//   O: [
//     [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0],5 6
//     [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0],5 6
//   ],
//   L: [
//     [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],6
//     [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],6
//     [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0],5 6
//   ],
//   J: [
//     [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0],5 6
//     [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],6
//     [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],6
//   ],
//   S: [
//     [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],6
//     [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0],5 6
//     [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],5
//   ],
//   Z: [
//     [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],5
//     [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0],5 6
//     [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],6
//   ],
//   T: [
//     [0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0],567
//     [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],6
//     [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   ],
// };

// // const colors = ['#2b39a3', '#e6e34f', '#e99a50', '#dd3b9c', '#4fd388', '#d13f3d', '#4bbad3'];

// class Tetromino {
//   tetromino: any;
//   constructor() {
//     const index = Math.floor(Math.random() * Object.keys(tetrominoes).length);
//     this.tetromino = Object.values(tetrominoes)[index];
//   }

//   // 绘制图形
//   draw() {
//     console.log(this.tetromino, '绘制图形');
//     this.tetromino.forEach((row: any, dy: number) => {
//       row.forEach((value: any, dx: number) => {
//         if (value !== 0) {
//           context.fillStyle = '#2b39a3';
//           context.fillRect(dx + 0.1, dy + 0.1, 1 - 0.2, 1 - 0.2);

//           // context.strokeStyle = '#fff';
//           // context.lineWidth = 0.1;
//           // context.strokeRect(this.x + dx, this.y + dy, 1, 1);
//         }
//       });
//     });
//   }

//   // 清除图形
//   clear() {
//     this.tetromino.forEach((row: any, dy: number) => {
//       row.forEach((value: any, dx: number) => {
//         if (value !== 0) {
//           context.clearRect(dx, dy, 1, 1);

//           context.strokeStyle = '#ffffff16';
//           context.lineWidth = 0.1;
//           context.strokeRect(dx, dy, 1, 1);
//         }
//       });
//     });
//   }

//   // 左移
//   moveLeft() {
//     // 临界点判断
//     if (this.tetromino.some((row: any) => row[0] !== 0)) {
//       return;
//     }
//     this.clear();
//     this.tetromino = [...this.tetromino.map((row) => [...row].slice(1).concat([0]))];
//     this.draw();
//   }

//   // 右移
//   moveRight() {
//     // 临界点判断
//     if (this.tetromino.some((row: any) => row[row.length - 1] !== 0)) {
//       return;
//     }
//     this.clear();
//     this.tetromino = [...this.tetromino.map((row) => [0].concat([...row].slice(0, -1)))];
//     this.draw();
//   }
// }

// // 背景浅色网格
// function drawGrid() {
//   context.strokeStyle = '#ffffff16';
//   context.lineWidth = 0.1;

//   for (let i = 1; i < 12; i++) {
//     context.beginPath();
//     context.moveTo(i, 0);
//     context.lineTo(i, 20);
//     context.stroke();
//   }

//   for (let i = 1; i < 20; i++) {
//     context.beginPath();
//     context.moveTo(0, i);
//     context.lineTo(12, i);
//     context.stroke();
//   }
// }

// // 初始化游戏
// function initGame() {
//   drawGrid();
// }

// initGame();

// let newTetromino = new Tetromino();
// newTetromino.draw();
// newTetromino.moveLeft();
// newTetromino.clear();

class Tetromino {
  tetromino: any;
  constructor() {
    // const index = Math.floor(Math.random() * Object.keys(tetrominoes).length);
    // this.tetromino = Object.values(tetrominoes)[index];
  }

  // 绘制图形
  draw() {}

  // 清除图形
  clear() {}

  // 左移
  moveLeft() {}

  // 右移
  moveRight() {}
}

// vue3.0 要求必须导出一个对象
export default 'ceshi';

// I: [
//   [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
// ],
// O: [
//   [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
// ],
// L: [
//   [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
// ],
// J: [
//   [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
// ],
// S: [
//   [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
// ],
// Z: [
//   [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
// ],
// T: [
//   [0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
// ],
